Vacuum Fluorescent Displays (VFDs) are commonly used for displaying system status or providing feedback to a user during the setup or the operation of a system. VFDs are voltage controlled devices. VFDs are controlled and driven by a variety of display drivers that regulate and drive the grids and anodes (plates) of the display. Display drivers are typically serial input, parallel output shift registers designed with high voltage output driver stages which are suitable for driving the anodes and grids of the displays. Output pins usually number 8, 32 or 35. Numerous drivers may operate together and can be configured to drive and control a wide range of VFDs.
By applying an AC waveform across the filament of the VFD, electrons become excited and are emitted. If both the grid and the anode are driven to a high positive voltage with respect to the cathode, the electrons reach the anode area. When bombarded by electrons, this fluorescent coated area, typically comprising a portion or "segment" of the display, emits light. As a result, this segment in the display is turned on and becomes visible to a system user.
There are two display driving methods commonly employed. In displays containing a relatively small number of segments (typically less than or equal to 70), a simple direct driving scheme is used. FIGS. 1A-B illustrate the direct driving method. In a four character display 2 consisting of 8 segments per character 4 (including decimal point), as shown in FIG. 1A, each segment requires its own segment plate input. In the direct driving method, each segment's anode is uniquely wired to a driver output pin 6, with drivers 8 cascaded until there are enough bits to drive all the segments. For example, two 32-bit drivers may be cascaded in order to form a 64-bit direct driving circuit as illustrated in FIG. 1B. Cascading is accomplished by connecting the serial data output pin of the first driver 7 to the serial data input pin of the second driver 9. The advantage of this method is that no display refresh is required, and the controlling microprocessor or circuitry 10 need only update the display 2 when the data changes. The disadvantage is that one plate driver output 6 is required for every segment which can lead to an undesirably large number of drivers 8 in displays containing a large number of segments.
In applications with many display segments, the number of drivers required to directly drive the display can become prohibitively large. For example, in a 32 character 5.times.7 dot matrix display, a total of 1120 segments must be driven which would require 32 35-segment drivers. In these cases, a multiplexing scheme is commonly employed. The displays designed for multiplexing contain groups of segments, each of which are controlled by individual grids. For example, in the 5.times.7 dot matrix display, each 35 segment character is controlled by a separate grid. The anodes of the first segment in each character are wired together, as are the anodes of the second, the third, and so on. Using a time-multiplexing scheme, the 1120 segment dot matrix display can be driven with one 32 bit device driving the 32 character grids, and one 35 bit device driving the corresponding 35 segments in each character. The advantage of this method is that it reduces the number of drivers required from 32 to 2. However, the disadvantage is that data must be refreshed for each character in a multiplexed display regardless of whether the data has changed since the segments in each individual character are not uniquely wired to a separate driver output pin.
As another example of a display for 8 segment characters (including decimal point), FIG. 2 illustrates this multiplexed wiring technique in a four character (32 segments) display 14. The anodes for selected groups of segments are hardwired together resulting in 8 segment plate wires 18. A plate driver (not shown) with eight driver outputs controls the connected anodes. At the same time, each grid 20 within the four character display 14 is driven by a grid driver (not shown). Each grid driver line 22 is identified as Grid #1 through Grid #4. As a result, the multiplexed four character display 14 in FIG. 2 with 32 segments is controlled with only a total of 12 lines 18 and 22.
The multiplex timing of a VFD display is then similar to that of an LED display. As shown in FIG. 3, the plate 24 and grid drivers 26 for a 32 character multiplexed segment VFD 28 may be controlled by the display microprocessor 30 or some other controlling circuitry. The serial data 34 and clock lines 32 of a single 32 segment grid driver 26 may be connected with the control ports 36 of the microprocessor 30. A similar interface may be created between the microprocessor 30 and the plate driver 24 as well. Each display driver 24 and 26 operates off of separate clocks 38 and 40 to output serial data for each driver at predetermined time intervals. In the multiplexed timing of a VFD 28, plate segment data 42 for one character 44 is first output to the display. Next, the digit strobe (grid enable) 46 for that character is driven high, enabling only that character. At the same time, all other characters wait in turn to be enabled. The digit strobe is then brought low while the segment data is changed to the desired information for the next character on the display. This character is then enabled by driving its respective grid high. Again, all other display characters are not enabled yet. This action continues until each character within a display is turned on sequentially. After all of the characters have been enabled, the cycle starts over.
FIG. 3 shows the typical architecture for driving a multiplexed display, while FIG. 4 is a simplified timing illustration for the display. As shown in FIG. 4, each grid within the VFD may be arranged in order and identified as grid 1 through grid 32. Plate driver data for each character may also be identified as character #1 transitioning through and ending with character #32. FIG. 4 illustrates the sequential character enable scheme for each character within the display 28 as determined by the serial data for each respective grid being clocked in by the grid clock 38 in order to sequentially drive each grid high at selected time intervals.
Additionally, in order to prevent undesirable ghosting effects during the transition between character enables or stable segment data 47, a blank signal 50 is activated at appropriate time intervals when segment data is being changed 48. Immediately after each character enable, the display microprocessor or controlling circuitry 30 activates a blank signal 50 to blank the entire display 28. In order to compensate for the temporal difference between driving a grid high for a character, and then bringing it low for the next character enable, a blank signal 50 is used to clear the display 28 and minimize any ghosting effect remaining from a previous character enable.
Each time a character in a multiplexed display is enabled, its data is "refreshed." This refresh occurs periodically, and must be at a rate sufficient to eliminate the perception of flickering by the human eye. The maximum refresh rate is dependent on the speed of the driving circuit, and the computing overhead involved. The minimum rate required to eliminate flickering is about 50 times per second (Hz). A rate of about 100 Hz is typical. Because multiplexed displays are constantly being updated to conform to the refresh of each character as required by the architecture, any change in the data to be displayed is simply incorporated in the next refresh cycle. An event change which is to be displayed is recorded, the stored segment data is updated, and on the next refresh cycle, the new data will be written to the display. Again, each character within the display is enabled and turned on sequentially during every refresh cycle. This scheme works well until the rate of change of a displayed event approaches the refresh frequency. When this occurs, it is possible that the changed data will change again before a refresh cycle is complete, causing the event to go completely undisplayed. An example of this problem may occur when using a multiplexed VFD display to display a highly dynamic event such as the access condition of a Hard Disk Drive (HDD). This access condition is most commonly displayed by directly driving an LED (or VFD) with the access signal from the HDD. HDD accesses then cause the LED to illuminate during the access time, and turn off when the drive is not being accessed. The resulting flicker of the LED is a desired outcome which represents the highly dynamic nature of the event. Duplicating this dynamic flicker in a multiplexed display can be difficult. One solution involves using a software algorithm to integrate (slow down the frequency of) the access indication before it is passed to the display data memory. This integrated form of the data which has a slower rate of change than the display refresh rate, can then be displayed successfully. The disadvantage of this software integration method, is that it can use up valuable computer or controller memory code space. This memory can be extremely limited in cases incorporating a simple micro-controller to perform the display refresh and event sampling tasks. Also, the longer it takes to perform the event integration operation, results in less time left to perform the display refresh function. As stated before, if the refresh rate becomes too slow, the entire display can appear to flicker.
Accordingly, it will be appreciated that a need presently exists for a method of updating and refreshing data for highly dynamic events in a multiplexed segment display. More particularly, it will be appreciated that a need presently exists for a method of updating data in multiplexed displays when the rate of change for a displayed event approaches the refresh frequency. It will be further appreciated that there currently exists a need for a multiplexed display that includes characters representing highly dynamic events which are cable of being updated at a different frequency when compared to other display characters.